Scaling Content on Touch-Based System

ABSTRACT

Methods and systems may provide for detecting a manual addition of first content to an interactive display and defining a content boundary around the first content. Additionally, a first automatic rescaling of the first content within the content boundary may be conducted in response to one or more of a manual modification of the first content or a trigger related to a characteristic of the first content. In one example, a manual reposition request is detected with respect to the first content, the first content is moved to a new position on the interactive display based on the reposition request, and a second automatic rescaling of the first content is conducted based on a state of second content that is adjacent to the new position.

BACKGROUND

Embodiments of the present invention generally relate to touch-basedsystems. More particularly, embodiments relate to scaling content ontouch-based systems.

An interactive plasma display (IPD) is a touch-based system that may beused to replace chalkboards and/or whiteboards in educational, corporateand courtroom settings. A conventional IPD may provide for fast,simultaneous writing (e.g., by multiple individuals), as well as highimage quality and pen identification. During a typical writing session,a user may decide the size and placement of content on the IPD, whereinpoor planning or a change in circumstances may lead to the user runningout of space on the IPD. Such a challenge may be particularly prevalentin impromptu settings (e.g., teaching environments) where the content isnot predetermined.

BRIEF SUMMARY

Embodiments may also include a method of scaling content, comprisingdetecting a manual addition of first content to an interactive display,defining a content boundary around the first content, and conducting afirst automatic rescaling of the first content within the contentboundary in response to one or more of a manual modification of thefirst content or a trigger related to a characteristic of the firstcontent.

Embodiments may also include a computer program product to scalecontent, the computer program product comprising a computer readablestorage medium having program instructions embodied therewith, theprogram instructions executable by an interactive display to cause theinteractive display to detect a manual addition of first content to theinteractive display, define a content boundary around the first content,and conduct a first automatic rescaling of the first content within thecontent boundary in response to one or more of a manual modification ofthe first content or a trigger related to a characteristic of the firstcontent.

Embodiments may include a computer program product to scale content, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, the program instructionsexecutable by an interactive display to cause the interactive display todetect a manual addition of first content to the interactive display,define a content boundary around the first content, wherein theinteractive display has an interaction region and the content boundaryis to occupy only a subset of the interaction region, conduct a firstautomatic rescaling of the first content within the content boundary inresponse to one or more of a manual modification of the first content ora trigger related to a first characteristic of the first content, detecta manual reposition request with respect to the first content, move thefirst content to a new position on the interactive display based on themanual reposition request, conduct a second automatic rescaling of thefirst content based on a state of second content that is adjacent to thenew position, wherein the state is to include one or more of aclassification or a size of the second content, detect a manualselection of an optimization boundary on the interactive display,identify a plurality of content regions within the optimizationboundary, and automatically rescale the plurality of content regionsindependently of one another within the optimization boundary.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The various advantages of the embodiments of the present invention willbecome apparent to one skilled in the art by reading the followingspecification and appended claims, and by referencing the followingdrawings, in which:

FIG. 1 is a flowchart of an example of a method of automaticallyrescaling content based on manual modifications to the content andcharacteristic triggers according to an embodiment;

FIG. 2 is a flowchart of an example of a method of automaticallyrescaling content based on manual reposition requests according to anembodiment;

FIG. 3 is a flowchart of an example of a method of automaticallyoverlaying resolution options on content according to an embodiment;

FIG. 4 is a flowchart of an example of a method of automaticallyrescaling a plurality of content regions according to an embodiment; and

FIG. 5 is a flowchart of an example of an interactive display deviceaccording to an embodiment.

DETAILED DESCRIPTION

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

Turning now to FIG. 1, a method 10 of automatically rescaling contentbased on manual additions to the content and characteristic triggers isshown. The method 10 may generally be conducted by the hardware and/orsoftware of an interactive display 14 such as, for example, aninteractive plasma display (IPD), tablet computer, touch-enabled smartphone, and so forth. In the illustrated example, the manual addition ofcontent 12 to the interactive display 14 is detected at processing block16. For example, the content 12 might be a mathematical formula (e.g.,“2+3=5”) written on an interaction region (e.g., the usable writingspace) of the interactive display 14 by a user (e.g., instructor,presenter or other individual). Thus, the user may employ a pen, stylus,finger or other suitable item that is detectable by the interactivedisplay 14 in order to manually add the content 12 to the interactionregion.

Block 18 may provide for defining a content boundary 20 around thecontent 12. In the illustrated example, the content boundary 20 is arectangle, although other boundary geometries may be used (e.g.,parallelograms, circles, ovals, polygons). The illustrated contentboundary 20, which occupies only a subset of the interaction region ofthe interactive display 14, may be made either visible or invisible tothe user, depending on the circumstances (e.g., default settings, userpreferences).

Block 18 may also include assigning a classification to the content 12based on the type of content that has been added by the user. Thus, theavailable classifications might include formulas, illustrations, text,etc., or any combination thereof, wherein one or more natural languageand/or object recognition techniques may be used to identify the type ofcontent. A determination may be made at block 22 as to whether a manualmodification (e.g., by the user) has been made to the content 12. Thus,the determination at block 22 may include, for example, detectingadditional pen strokes within the content boundary 20 (e.g., placementof a “1” before the “3” and the “5” in the mathematical formula).

Illustrated block 24 provides for conducting an automatic rescaling ofthe content 12 within the content boundary 20 in response to the manualmodification of the content 12. In the illustrated example, a onedimensional (1D) is conducted due to the type of content, wherein the 1Drescaling creates additional horizontal spacing in the mathematicalformula without changing the vertical spacing of the mathematicalformula. Of particular note is that blindly rescaling the content 12 inboth dimensions according to an arbitrary aspect ratio may eitherprevent the content from being sufficiently widened in the horizontaldimension due to a lack of vertical space within the boundary 20 orresult in more space being taken up by the content 12 due to a sizeincrease of the content boundary 20 in the vertical direction. Byselectively determining which dimension to scale, the illustratedexample enables more efficient use of writing space, which may belimited as more and more content is added to the interaction region.

If no manual modification is detected at block 22, block 23 maydetermine whether a characteristic trigger has occurred. Moreparticularly, block 23 may identify a characteristic of the content 12such as, for example, the classification of the content 12, how long thecontent has been displayed on the interactive display 14, the downloadstatus of the content 12 (e.g., to local memory and/or disparatedevices), the temporal relevance of the content 12 (e.g., relative to adaily class schedule), whether a user is speaking about the content 12(e.g., based on speech recognition of audio data), whether the author ofthe content 12 is present, etc., or any combination thereof. Thus, thecharacteristic trigger may exist if the content 12 has been displayedfor a certain amount of time, the content 12 has been downloaded to abackup drive/computer, and so forth. If the trigger is present, block 24may conduct the automatic rescaling based on the underlyingcharacteristic (e.g., shrink English content during math or vice versa).

FIG. 2 shows a method 26 of automatically rescaling content based onmanual reposition requests. The illustrated method 26, which maygenerally be conducted by the hardware and/or software of theinteractive display 14, provides for detecting a manual repositionrequest with respect to content 30 at block 28. The manual repositionrequest may be made by the user dragging (e.g., with a pen or otherdetectable item) a content boundary 32, which may be automaticallygenerated by the interactive display 14, or the content 30 itself fromone position in the interaction region to a new position in theinteraction region.

Accordingly, block 34 may move the content 30 to the new position on theinteractive display 14 based on the reposition request, wherein anautomatic rescaling of the content 30 may be conducted at block 36 basedon the state of other content 38 adjacent to the new position. The stateof the other content 38 may include, for example, the classification(e.g., formula, image, text), size, priority, display age, temporalrelevance, etc., of the content 30, wherein the state of the othercontent 38 may be evaluated relative to similar state characteristics ofthe content 30 that is being moved. For example, it might be determinedthat due the size of the other content 38, the new position permits aparticular maximum size of the content 30 without rescaling the othercontent 38. If the other content 38 has a higher priority than thecontent 30 that is being moved, then block 36 may proportionately shrinkthe content 30 in the horizontal and vertical dimensions (e.g., conducta two dimensional/2D rescaling) to fit within the available space. If,on the other hand, the other content 38 has a lower priority than thecontent 30 that is being moved, then block 36 might shrink the othercontent 38 to make room for the content 30 at its current size. In yetanother example, block 36 may both shrink the content 30 and enlarge theother content 38 depending on the relative priorities or other contentcharacteristics.

Turning now to FIG. 3, a method 40 of automatically overlayingresolution options on content is shown. The illustrated method 40, whichmay generally be conducted by the hardware and/or software of theinteractive display 14, provides for detecting a manual selection ofcontent that has been moved to a new position at block 42. The manualselection may be made, for example, by the user touching the movedcontent with a pen or other detectable item. One or more resolutionoptions 44 may be overlaid on the content at block 46 in response to themanual selection. In the illustrated example, the user is able to selectfrom the aspect ratios of 4:3, 3:2 and 16:9, wherein the selected aspectratios may be used to rescale the moved content.

FIG. 4 shows a method 48 of automatically rescaling a plurality ofcontent regions. The illustrated method 48, which may generally beconducted by the hardware and/or software of the interactive display 14,provides for detecting a manual selection of an optimization boundary 50at block 52. The manual selection may be made, for example, by the userdrawing the optimization boundary 50 around a plurality of contentregions 54 (e.g., tree illustration, dog illustration, mathematicalformula, handwritten text) on the interactive display 14. Illustratedblock 56 identifies the plurality of content regions 54, wherein theplurality of content regions 54 may be rescaled independently of oneanother within the optimization boundary 50 at block 58. In theillustrated example, the mathematical formula and the handwritten textare shifted to the right without being rescaled, the tree illustrationis kept stationary without being rescaled, and the dog illustration isenlarged in the extra space created by the other adjustments. Moreover,the handwritten text outside the optimization boundary 50 is unaffectedin the illustrated example.

FIG. 5 shows an interactive display device 60 that may be readilysubstituted for the interactive display 14 (FIGS. 1-4), alreadydiscussed. The interactive display device 60 may be an IPD, tabletcomputer, touch-enabled smart phone, and so forth. In the illustratedexample, the device 60 includes a processor 62, a touch screencontroller 64, memory 66 (e.g., read only memory/ROM, random accessmemory/RAM, flash memory, or other suitable computer readable storagemedium) and an interaction region 68. The memory 66 may have programinstructions 70 embodied therewith, wherein the program instructions 70are executable by the processor 62 and/or touch screen controller 64 toperform any of the methods depicted in FIGS. 1-4. Thus, for example,execution of the instructions 70 may cause the interactive displaydevice 60 to detect a manual addition of first content to theinteraction region 68, define content a content boundary around thefirst content, assign a first classification to the first content, andconduct a first automatic rescaling of the first content within thecontent boundary in response to one or more of a manual modification ofthe first content or a trigger related to a characteristic of the firstcontent.

Execution of the instructions 70 may also cause the interactive displaydevice 60 to detect a manual reposition request with respect to thefirst content, move the first content to a new position in theinteraction region based on the manual reposition request, and conduct asecond automatic rescaling of the first content based on a state ofsecond content that is adjacent to the new position, wherein the stateis to include one or more of a second classification or a size of thesecond content. Other functions such as, for example, optimizations andthe overlay of resolution options may also be implemented via theinstructions 70. Alternatively, one or more aspects of the instructions70 may be implemented as circuitry (e.g., embedded logic).

Techniques described herein may therefore enhance the operation oftouch-based systems by automatically rescaling content created by auser. The techniques may be particularly useful in impromptu settingssuch as teaching environments in which the content is not predetermined.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions. In addition, the terms “first”, “second”,etc. may be used herein only to facilitate discussion, and carry noparticular temporal or chronological significance unless otherwiseindicated.

Those skilled in the art will appreciate from the foregoing descriptionthat the broad techniques of the embodiments of the present inventioncan be implemented in a variety of forms. Therefore, while theembodiments of this invention have been described in connection withparticular examples thereof, the true scope of the embodiments of theinvention should not be so limited since other modifications will becomeapparent to the skilled practitioner upon a study of the drawings,specification, and following claims.

1. A computer program product to scale content, the computer programproduct comprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable byan interactive display to cause the interactive display to: detect amanual addition of first content to the interactive display; define acontent boundary around the first content, wherein the interactivedisplay has an interaction region and the content boundary is to occupyonly a subset of the interaction region; conduct a first automaticrescaling of the first content within the content boundary in responseto one or more of a manual modification of the first content or atrigger related to a first characteristic of the first content; detect amanual reposition request with respect to the first content; move thefirst content to a new position on the interactive display based on themanual reposition request; conduct a second automatic rescaling of thefirst content based on a state of second content that is adjacent to thenew position, wherein the state is to include one or more of aclassification or a size of the second content; detect a manualselection of an optimization boundary on the interactive display;identify a plurality of content regions within the optimizationboundary; and automatically rescale the plurality of content regionsindependently of one another within the optimization boundary.
 2. Thecomputer program product of claim 1, wherein the program instructionsare executable by the interactive display to cause the interactivedisplay to: detect a manual selection of the first content in the newposition; and automatically overlay one or more resolution options onthe first content in response to the manual selection.
 3. The computerprogram product of claim 1, wherein the characteristic is to include oneor more of a classification of the first content, how long the firstcontent has been displayed on the interactive display, a download statusof the first content, a temporal relevance of the first content, whethera user is speaking about the first content or whether an author of thefirst content is present.
 4. The computer program product of claim 1,wherein the first automatic rescaling is to be a one dimensional (1D)rescaling.
 5. A computer program product to scale content, the computerprogram product comprising a computer readable storage medium havingprogram instructions embodied therewith, the program instructionsexecutable by an interactive display to cause the interactive displayto: detect a manual addition of first content to the interactivedisplay; define a content boundary around the first content; and conducta first automatic rescaling of the first content within the contentboundary in response to one or more of a manual modification of thefirst content or a trigger related to a characteristic of the firstcontent.
 6. The computer program product of claim 5, wherein the programinstructions are executable by the interactive display to cause theinteractive display to: detect a manual reposition request with respectto the first content; move the first content to a new position on theinteractive display based on the manual reposition request; and conducta second automatic rescaling of the first content based on a state ofsecond content that is adjacent to the new position.
 7. The computerprogram product of claim 6, wherein the state is to include one or moreof a classification or a size of the second content.
 8. The computerprogram product of claim 6, wherein the program instructions areexecutable by the interactive display to cause the interactive displayto: detect a manual selection of the first content in the new position;and automatically overlay one or more resolution options on the firstcontent in response to the manual selection.
 9. The computer programproduct of claim 5, wherein the program instructions are executable bythe interactive display to cause the interactive display to: detect amanual selection of an optimization boundary on the interactive display;identify a plurality of content regions within the optimizationboundary; and automatically rescale the plurality of content regionsindependently of one another within the optimization boundary.
 10. Thecomputer program product of claim 5, wherein the characteristic is toinclude one or more of a classification of the first content, how longthe first content has been displayed on the interactive display, adownload status of the first content, a temporal relevance of the firstcontent, whether a user is speaking about the first content or whetheran author of the first content is present.
 11. The computer programproduct of claim 5, wherein the first automatic rescaling is to be a onedimensional (1D) rescaling.
 12. The computer program product of claim 5,wherein the interactive display has an interaction region and thecontent boundary is to occupy only a subset of the interaction region.13-20. (canceled)